package org.secangkirkopipanas.gxtcore.server.dao;

import java.util.List;

import org.hibernate.SessionFactory;
import org.secangkirkopipanas.gxtcore.common.exception.DataNotFoundException;
import org.secangkirkopipanas.gxtcore.server.domain.SystemGroup;
import org.secangkirkopipanas.gxtcore.server.domain.SystemUser;

public interface ISystemGroupDAO {

	public SessionFactory getSessionFactory();

	public void setSessionFactory(SessionFactory sessionFactory);

	public void add(SystemGroup systemGroup);

	public void delete(SystemGroup systemGroup) throws DataNotFoundException;

	public void delete(String groupName) throws DataNotFoundException;

	public List<SystemGroup> getForList();

	public SystemGroup get(long systemGroupId);

	public SystemGroup get(String systemGroupName);

	public List<SystemUser> getGroupMembers(SystemGroup systemGroup);

	public int getTotalCount();

}